import request from './axios'

/**
 * 患者管理API接口
 */
const patientApi = {
  /**
   * 根据ID获取患者信息
   * @param {Number} id - 患者ID
   * @returns {Promise}
   */
  getById: (id) => {
    return request.get(`/patients/${id}`)
  },

  /**
   * 搜索患者信息
   * @param {Object} params - 查询条件
   * @returns {Promise}
   */
  search: (params) => {
    return request.post('/patients/search', params)
  },
  // 根据registerId查询病案信息
  getMedicalRecordByRegisterId: (registerId) => {
    // 用 POST /medical-records/search，body 只传 registerId
    return request({
      url: '/medical-records/search',
      method: 'post',
      data: { registerId }
    })
  },

  /**
   * 根据病历号获取患者信息
   * @param {String} caseNumber - 病历号
   * @returns {Promise}
   */
  getByCaseNumber: (caseNumber) => {
    return request.get(`/patients/case-number/${caseNumber}`)
  },

  /**
   * 获取患者列表
   * @param {Object} params - 分页和筛选参数
   * @returns {Promise}
   */
  getList: (params = {}) => {
    return request.get('/patients', {
      params: {
        ...params
      }
    })
  },
  
  /**
   * 根据患者ID获取挂号信息
   * @param {Number} patientId - 患者ID
   * @returns {Promise}
   */
  getRegistersByPatientId: (patientId) => {
    return request.get('/registers', {
      params: {
        patientId
      }
    })
  },
  
  /**
   * 创建病案
   * @param {Object} data - 病案数据
   * @returns {Promise}
   */
  createMedicalRecord: (data) => {
    return request.post('/medical-records', data)
  },
  
  /**
   * 获取今日统计数据
   * @returns {Promise}
   */
  getTodayStats: () => {
    return request.get('/patients/stats/today')
  }
}

export default patientApi